package com.luobo.shiro.util;

import com.luobo.shiro.bean.LocalUser;
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import io.jsonwebtoken.lang.Assert;

import java.util.Date;

/**
 * @author : AnWen
 * @version :1.0
 * @email : anwen375@qq.com
 * @since : 2020/2/26 19:52
 */
public class JWTUtil {

    private static final String APPSECRET = "token";

    public static String createSessionId(String ip,String username) {
        return Jwts.builder()
                .setIssuer(ip)//签发人 这里我们使用请求ip
              //  .setIssuedAt(new Date())//发布时间
                .claim("username", username)
                .claim("createTime",System.currentTimeMillis()) //创建时间
                .signWith(SignatureAlgorithm.HS256, APPSECRET)  // 设置签名使用的签名算法和签名使用的秘钥
                .compact();
    }

    public static Claims parseSessionId(String token) {
        try {
            return Jwts.parser().setSigningKey(APPSECRET).parseClaimsJws(token).getBody();
        } catch (Exception e) {
            return null;
        }
    }
}
